gint monitor_num)
{
g_printerr ("gdk_mir_screen_get_monitor_width_mm (%d)\n", monitor_num);
- return get_output (screen, monitor_num)->physical_width_mm;
+ MirDisplayOutput *output = get_output (screen, monitor_num);
+ return output ? output->physical_width_mm : 0;
}
static gint
gint monitor_num)
{
g_printerr ("gdk_mir_screen_get_monitor_height_mm (%d)\n", monitor_num);
- return get_output (screen, monitor_num)->physical_height_mm;
+ MirDisplayOutput *output = get_output (screen, monitor_num);
+ return output ? output->physical_height_mm : 0;
}
static gchar *
MirDisplayMode *mode;
output = get_output (screen, monitor_num);
- mode = &output->modes[output->current_mode];
- dest->x = output->position_x;
- dest->y = output->position_y;
- dest->width = mode->horizontal_resolution;
- dest->height = mode->vertical_resolution;
+
+ if (output)
+ {
+ mode = &output->modes[output->current_mode];
+ dest->x = output->position_x;
+ dest->y = output->position_y;
+ dest->width = mode->horizontal_resolution;
+ dest->height = mode->vertical_resolution;
+ }
+ else
+ {
+ *dest = {0, 0, 0, 0};
+ }
}
static void